home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Joystick Magazine 1996 May
/
cd joy 71No13.iso
/
pc
/
demos
/
eurosoc
/
source
/
maths.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1996-03-05
|
2KB
|
76 lines
/******************************************************************************
*******************************************************************************
Maths routines...
******************************************************************************
*****************************************************************************/
#include "global.h"
#include "defines.h"
#include "externs.h"
extern short *afr1;
extern short *afr2;
/******************************************************************************
*****************************************************************************/
//extern int matherr(struct exception *);
int matherr(struct exception *)
{
keys[0x01]=1; // Simulate escape.
return(0);
}
/******************************************************************************
*****************************************************************************/
void af_randomize()
{
rand_seed=rand();
seed=rand_seed&127;
// printf("%d\n",seed&15);
}
/******************************************************************************
*****************************************************************************/
void random_vector(float &a,float &b)
{
double n;
signed short ang=(rand_seed&32767)<<1;
float ab=modf(((float)ang/PI),&n);
a=cos(ab);
b=sin(ab);
}
/******************************************************************************
*****************************************************************************/
// Returns a random value of ( 0 -> (Range-1) )
int rand_range(int range)
{
int rs=(seed*range)/128;
return(rs);
}
/******************************************************************************
*****************************************************************************/
float calc_dist(float x,float y)
{
float r;
r=sqrt((x*x)+(y*y));
if (r>0.1)
return(r);
else
return(0.1);
}